package com.itheima.d7_interface.demo1;

/**
 *  请设计一个班级学生的信息管理模块：学生的数据有：姓名、性别、成绩
 *      功能1：要求打印出全班学生的信息； 功能2：要求打印出全班学生的平均成绩。
 *      注意！以上功能的业务实现是有多套方案的，比如：
 *      第1套方案：能打印出班级全部学生的信息；能打印班级全部学生的平均分。
 *      第2套方案：能打印出班级全部学生的信息（包含男女人数）；能打印班级全部学生的平均分（要求是去掉最高分、最低分）。
 *      要求：系统可以支持灵活的切换这些实现方案。
 */
public class Student implements Print {
    private String name;
    private char sex;
    private int score;

    public Student() {
    }

    public Student(String name, char sex, int score) {
        this.name = name;
        this.sex = sex;
        this.score = score;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public char getSex() {
        return sex;
    }

    public void setSex(char sex) {
        this.sex = sex;
    }

    public int getScore() {
        return score;
    }

    public void setScore(int score) {
        this.score = score;
    }
// *      第1套方案：能打印出班级全部学生的信息；能打印班级全部学生的平均分。
// *      第2套方案：能打印出班级全部学生的信息（包含男女人数）；
// *      能打印班级全部学生的平均分（要求是去掉最高分、最低分）。
    @Override
    public void printStudentInfo(Student[] students) {
        for (int i = 0; i < students.length; i++) {
            Student s = students[i];
            System.out.println("姓名：" + s.getName() + " 性别：" + s.getSex() + " 成绩：" + s.getScore());
        }

    }

    @Override
    public void printStudentAvgScore(Student[] students) {
        double sum = 0;
        for (int i = 0; i < students.length; i++) {
            Student s = students[i];
            sum += s.getScore();
        }
        System.out.println("平均分：" + sum / students.length);
    }
}
